2015年5月23日

R 是資料分析最常用的工具之一

R 有許多資料相關功能跟套件

我們聯結R 和DataTaipei

10行內就可搜資料、整理、做應用雛形

# 抓資料
library(DataTaipei)
rs <- dataSetMetadataSearch(q = "公廁")
data <- resourceAquire(getResources(rs, 1)$resourceId)
# 畫圖
library(ggmap)
qmap("台北火車站", zoom = 16,legend = "topleft") +
  geom_point(aes(x = lng, y = lat), colour = "blue", data = data)

臺北市公廁分佈

再來一個例子

# 抓資料
library(DataTaipei)
rs <- dataSetMetadataSearch(q = "youbike")
data <- resourceAquire(getResources(rs, 1)$resourceId)
# 整理資料
library(dplyr)
data <- dplyr::mutate(data, lat = as.numeric(lat), lng = as.numeric(lng))
# 畫圖
library(ggmap)
qmap("台北火車站", zoom = 15,legend = "topleft") +
  geom_point(aes(x = lng, y = lat, size = bemp), colour = "blue", data = data)

臺北市Youbike站點

時間序列

library(DataTaipei)
rs <- dataSetMetadataSearch("氣象")
data <- resourceAquire(getResources(rs, 2)$resourceId[1])
library(dplyr)
data <- dplyr::filter(data, locationName == "臺北市") %>%
  dplyr::mutate(startTime = as.POSIXct(strptime(startTime, "%Y-%m-%dT%H:%M:%S+08:00")), 氣溫=parameterName2) %>%
  dplyr::select(startTime, 氣溫)
library(dygraphs)
library(xts)
xts(data[,-1,with=FALSE], order.by = data$startTime) %>%
  dygraph

氣溫資料

資料統計

# 抓資料
library(DataTaipei)
rs <- dataSetMetadataSearch(q = "不動產")
data <- resourceAquire(getResources(rs, 4)$resourceId)
# 整理資料
library(dplyr)
data <- dplyr::mutate(data, `SDATE`=as.Date(as.character(SDATE + 19110000),"%Y%m%d"))
colnames(data)[-1] <- strsplit(rs$fieldDescription[4], "、", useBytes = TRUE)[[1]]
# 行政區分佈
library(googleVis)
group_by(data, `都市土地使用分區(LANDA_Z)`) %>%
  summarise(count = length(`_id`)) %>%
  gvisBarChart(yvar = "count") %>% 
  plot

台北市不動產交易資料

BarChartID40f8719cc159

Data: data • Chart ID: BarChartID40f8719cc159googleVis-0.5.6
R version 3.1.2 (2014-10-31) • Google Terms of UseDocumentation and Data Policy

動態圖表

分析

m <- dplyr::filter(data, `成交案件類型(CASE_T)` == "買賣") %>%
  lm(formula = `交易單價(萬元/坪)/租賃單價(元/坪)(UPRICE)` ~
     `單價是否含車位(UPNOTE)` +
     `主要建材(MBUILD)` +
     `行政區(DISTRICT)` +
     `都市土地使用分區(LANDA_Z)`)

影響價格的因素

Estimate Std. Error t value Pr(>|t|)
(Intercept) 66.2052 25.2208 2.63 0.0089
單價是否含車位(UPNOTE) 47.5464 7.9084 6.01 0.0000
單價是否含車位(UPNOTE) 45.5912 9.1880 4.96 0.0000
主要建材(MBUILD)鋼骨鋼筋混凝土造 -41.0961 18.3788 -2.24 0.0257
主要建材(MBUILD)鋼骨混凝土造 -114.4033 50.7893 -2.25 0.0247
主要建材(MBUILD)鋼筋混凝土加強磚造 -69.1000 50.4284 -1.37 0.1711
主要建材(MBUILD)鋼筋混凝土造 -65.9004 10.0134 -6.58 0.0000
主要建材(MBUILD)加強磚造 -48.4023 13.6192 -3.55 0.0004
主要建材(MBUILD)見其他登記事項 -19.4890 16.5027 -1.18 0.2381
主要建材(MBUILD)見使用執照 -91.3995 25.5737 -3.57 0.0004
主要建材(MBUILD)土造 -60.0245 50.1604 -1.20 0.2319
主要建材(MBUILD)磚造 -63.9492 49.8077 -1.28 0.1997
行政區(DISTRICT)大安區 45.8130 8.9017 5.15 0.0000
行政區(DISTRICT)大同區 19.5978 13.5828 1.44 0.1496
行政區(DISTRICT)南港區 9.1436 12.0107 0.76 0.4468
行政區(DISTRICT)內湖區 13.9284 8.3018 1.68 0.0939
行政區(DISTRICT)士林區 1.6648 8.9580 0.19 0.8526
行政區(DISTRICT)松山區 26.6448 11.3523 2.35 0.0193
行政區(DISTRICT)萬華區 22.3602 12.2683 1.82 0.0689
行政區(DISTRICT)文山區 3.2783 9.5103 0.34 0.7304
行政區(DISTRICT)信義區 35.5949 9.1223 3.90 0.0001
行政區(DISTRICT)中山區 21.2693 8.8498 2.40 0.0166
行政區(DISTRICT)中正區 45.1166 17.2021 2.62 0.0090
都市土地使用分區(LANDA_Z) -7.9645 26.8597 -0.30 0.7669
都市土地使用分區(LANDA_Z) -39.9002 42.7874 -0.93 0.3515
都市土地使用分區(LANDA_Z)其他 -22.4221 24.4643 -0.92 0.3598
都市土地使用分區(LANDA_Z) -0.9930 23.8995 -0.04 0.9669
都市土地使用分區(LANDA_Z) -2.9709 23.5374 -0.13 0.8996